In certain environments, particularly in real-time, low-power applications and/or time-critical heterogeneous environments, the load balancing on a processor, even high-speed multi-core processors, can be inefficient, poorly timed and difficult to program. Further, some internal computer-system communications methods have distance and timing limitations and/or restrictions that minimize their usefulness in larger systems.
The SPI protocol is a widely used protocol for data transfer between integrated circuits (ICs), in particular, between a host processor and one or more peripheral devices. The SPI protocol is a synchronous protocol which requires a defined timing for correct operation. The SPI protocol is typically used for short distance, single master communication, for example in embedded systems, sensors, and the like.